polari is the GNOME app for IRC, empathy is for everything else
So prefer polari to empathy for IRC channels. We don't need
to check that either exists (even though polari is not a core
app) because mission control tries every handler if the preferred
one fails.
Depends on bug 745418 for polari to be mission control activatable.
Make sure the message list section is set to the current date
when opening the menu, otherwise the calendar might skip
the selected-date-changed event (because the day did not change)
which would leave the message list with an uninitialized date.
Rui Matos [Thu, 26 Feb 2015 16:47:37 +0000 (17:47 +0100)]
Revert "workspace: Grab the key focus when hovering over a window"
Turns out this makes interaction with the OSK or candidate popups
using a mouse basically impossible since they get dismissed when the
key focus is captured by a window in the overview.
Florian Müllner [Fri, 27 Feb 2015 14:10:11 +0000 (15:10 +0100)]
calendar: Allow to dismiss messages with delete
Messages can be dismissed using a pointer device by clicking the
close button, there's no reason to not make the same action
available via keyboard as well. Delete looks like an obvious
choice ...
Florian Müllner [Wed, 25 Feb 2015 15:42:47 +0000 (16:42 +0100)]
data: Change default shortcut for opening the message list
With the message tray no longer being a distinctive UI element,
the existing <super>m shortcut for viewing the notification list
is no longer mnemonic. It is also less convenient as it requires
both hands with most keyboards. So make <super>v the new default
to _view_ notifications, which matches the corresponding Windows
default.
The previous default is kept as secondary shortcut to ease the
transition.
Florian Müllner [Fri, 27 Feb 2015 01:09:02 +0000 (02:09 +0100)]
dash: Fix leaking signal connections
The overview has a longer life-time than dash items, so we are
leaking a signal connection each time an item is destroyed.
Spotted by Michele (<micxgx@gmail.com>)
Florian Müllner [Sat, 21 Feb 2015 08:05:58 +0000 (09:05 +0100)]
messageTray: Hide from picks during DND operations
As it is impossible to interact with notification banners while a DND
operation is ongoing, we can temporarily hide the banner container from
picks so that DND works as expected even while a banner is showing.
Florian Müllner [Wed, 25 Feb 2015 16:43:54 +0000 (17:43 +0100)]
messageTray: Take over trayBox from LayoutManager
Since commit e189a34, the trayBox uses a Contraint to cover the primary
monitor's work area. This allows banners to be clipped so they don't
leak into monitors above the primary one during animations. However even
without being reactive, the trayBox now interferes with operations like
Looking Glass' object picker and overview DND.
With the trayBox no longer being positioned manually, there's no strong
reason to keep it in LayoutManager, and handling it in MessageTray allows
to hide the actor while no banner is showing, which helps with the issue
outlined above.
Florian Müllner [Wed, 25 Feb 2015 17:08:53 +0000 (18:08 +0100)]
messageTray: Fix actor visibility
The actor is supposed to be hidden while no notification banner
is displayed, and in addition to that when banners are temporarily
blocked (because the calendar is open). However the current code
always shows the actor when banners are not blocked, fix that.
Florian Müllner [Thu, 26 Feb 2015 22:31:46 +0000 (23:31 +0100)]
screenShield: Do not wake up screen after adding hidden source
The screen should be woken up when a new notification is shown on
the lock screen, but not when a notification arrives while disabled.
Add a missing condition to fix.
David Liang [Thu, 26 Feb 2015 20:40:56 +0000 (15:40 -0500)]
gdm: prevent nextSignalId from being connected multiply times
The problem is caused by '_askForUsernameAndBeginVerification' being
called multiply times. So when we click 'next', the old connected
function will also be executed.
Florian Müllner [Thu, 26 Feb 2015 00:05:29 +0000 (01:05 +0100)]
Drop MESSAGE_TRAY action mode
The mode is never set after the removal of the bottom tray, so it
no longer makes sense to pass it to allowKeybinding(). We can also
safely remove it from the ActionModes flags altogether without
requiring a synchronized update with gnome-settings-daemon, as
the latter never used any flag value above LOGIN_SCREEN.
Commit 1c1f63a7d7a5f0be5a796679d029a6b0c600b838 changed the shadow
pipeline to use cogl_framebuffer_ortographic() instead of cogl_ortho(),
but the two functions take their arguments in a different order.
Fixes graphical corruption for text shadows in the login screen.
Florian Müllner [Mon, 23 Feb 2015 19:07:04 +0000 (20:07 +0100)]
popupMenu: Use TOPBAR_POPUP action mode for all menus
When it comes to keybindings or gestures, there's not really a good
reason why popups associated with the top bar should behave differently
from any other shell menus. Just set the action mode generically for
all menus, so actions like screenshots or media-keys start working
with menus like the background- or app launcher context menus.
Florian Müllner [Sat, 21 Feb 2015 19:10:41 +0000 (20:10 +0100)]
calendar: Fix message markup getting lost
We reuse the old body text on useMarkup changes and for expanded
labels. However just taking it from the label actor does not work
when markup is used, as once applied it will be stripped from
ClutterText:text.
So to preserve markup, keep our own copy of the original string
around.
Florian Müllner [Sat, 21 Feb 2015 18:08:27 +0000 (19:08 +0100)]
calendar: Fix quoting issues in notification titles
Markup in notification titles is not support (and never has been).
Therefore the text is run through g_markup_escape_text(), and as
a result we do have to use markup internally to correctly show
legal-but-escape characters like '&' or '"'.
Theme: Too many values for border-radius property.
GNOME Shell throws the following warning message:
'St-WARNING **: Too many values for border-radius property.'
Was fixed with just remove the last '0' on the 'border-radius'
property in the '.tile-preview-left.on-primary' class on both files:
gnome-shell.css and gnome-shell-high-contrast.css.
Florian Müllner [Sat, 21 Feb 2015 08:59:24 +0000 (09:59 +0100)]
dateMenu: Update message indicator on queue changes
The message indicator conveys that the message list contains unseen
messages that will not be shown as banner. So its visibility depends
on two factors: the number of unseen messages, and the number of
messages waiting in the queue to be shown as banner. As we currently
only update the visibility on changes to the former, the indicator is
not always accurate - for instance sources notify count changes before
passing on a notification to the message tray for display.
To fix, add a signal to the message tray to notify when the queue
changes and use it to update the indicator's visibility.
Florian Müllner [Tue, 17 Feb 2015 03:19:07 +0000 (04:19 +0100)]
telepathyClient: Provide createBanner() implementation
Chat notifications are king of custom, so we'll leave them out for now
and keep using the old banner. However we can port the subscription
notification.
Florian Müllner [Tue, 17 Feb 2015 02:40:25 +0000 (03:40 +0100)]
autorunManager: Provide a createBanner() implementation
Hotplug notifications use custom notification banners to include
application icons in buttons. Bring those back by providing an
appropriate createBanner() implementation.
Florian Müllner [Tue, 17 Feb 2015 02:27:11 +0000 (03:27 +0100)]
messageTray: Provide a hook for customizing banners
While we want to encourage the use of regular notification banners,
some of our built-in stuff does require more or less customized content
("more" being chat notifications, a.k.a. king of custom).
Account for this use case by delegating banner creation to a method,
so either Notification or Source subclasses can overwrite it.
Florian Müllner [Fri, 13 Feb 2015 01:17:57 +0000 (02:17 +0100)]
telepathyClient: Don't use customContent notifications gratuitously
Nothing except for the chat notification is really custom, so stop
specifying the flag for anything else - it will soon become a bit
harder to create non-standard notifications, so don't do it for no
good reason (discouraging this is of course the reason for making it
harder in the first place) ...
Florian Müllner [Tue, 17 Feb 2015 02:13:56 +0000 (03:13 +0100)]
messageTray: Use NotificationBanner in banner mode
Instead of using the notification's own actor as a banner (and
keeping it around after the banner was displayed to not dismiss
the notification itself), create a separate banner actor from
the information the notification provides, just like we do for
lock screen and message list notifications.
This change breaks notifications with custom content, but only
temporarily - we will soon provide a hook to allow customizations
again.
Florian Müllner [Tue, 17 Feb 2015 00:13:48 +0000 (01:13 +0100)]
messageTray: Add NotificationBanner actor
We no longer have a single notification actor that is either displayed
as banner or reparented to the summary depending on state - both the
lock screen and the notification section of the message list create
their own UI based on the information attached to the notification
object. Adding to this that different representations of a notification
may now exist simultaneously (as they are included in the message list
immediately rather than after the banner has been displayed), it no
longer makes sense to keep the banner actor in the notification itself.
Add a new NotificationBanner class that provides a separate banner
implementation based on the message list's NotificationMessage that will
soon replace the existing notification banners.
Florian Müllner [Thu, 19 Feb 2015 12:45:31 +0000 (13:45 +0100)]
messageTray: Record actions added to notifications
Both the screen shield and the notification section in the message
list create their own UI for notifications rather than using the
notification actor itself. Currently there is no clean way for such
representations to include notification actions - we will need this
as we will soon use a separate actor for banners as well, so keep
track of actions added via addAction().